const semver = require("semver");
const { engines } = require("./package");
const childProcess = require("child_process");

// 获取要求的node版本
let version = engines.node;

// 检查node版本
if (!semver.satisfies(process.version, version)) {
  console.log(
    [
      `您当前的node版本与要求的node版本不符。您的node版本:[${process.version}], 项目node版本要求:[${version}]`,
    ].join("\n")
  );
  process.exit(1);
} else {
  console.log(`node版本符合要求`);
}

// 获取要求的pnpm版本
version = engines.pnpm;

// 检查pnpm版本
const pnpmVersion = childProcess.execSync("pnpm -v").toString("utf8");
if (!semver.satisfies(pnpmVersion, version)) {
  console.log(
    [
      `您当前的pnpm版本与要求的pnpm版本不符。您的pnpm版本:[${pnpmVersion}], 项目pnpm版本要求:[${version}]`,
    ].join("\n")
  );
  process.exit(1);
} else {
  console.log(`pnpm版本符合要求`);
}
